#pragma once
#include <string>
#include <map>
#include <vector>

namespace krryn{
namespace animation{ class animation; class skeleton; }
namespace view{
	class mesh;
	class model{
	public:
		size_t get_num_meshes();
		mesh *get_mesh(size_t i);
		void add_mesh(mesh *a_Mesh);
		void add_animation(const std::string &a_Name, animation::animation *a_Animation);
		void set_bindpose(animation::skeleton *a_Skeleton);
		animation::skeleton *get_bindpose() const;
		animation::animation *get_animation(const std::string &a_Name);
	private:
		std::vector<mesh*> m_Meshes;
		std::map<std::string, animation::animation*> m_Animations;
		animation::skeleton *m_Bindpose;
	};
}
}